// function fbnq(n){
//     if(n<=2){
//         return 1;
//     }else{
//         let a=b=1,c;
//         for (let i=2;i<n;i++){
//             c=a+b;
//             a=b;
//             b=c;
//             console.log(c);
//         }
//         return c;
//     }
// }
// //尾递归
// function fbnq3(n,ac1=1,ac2=1){
//     if(n<2){
//         return ac2;
//     }else{
//         return fbnq3(n-1,ac2,ac1+ac2);
//     }
// }

// function Fibonacci(n){
//     if(n<=2){return 1};

//     return Fibonacci(n-1)+Fibonacci(n-2);
// }
// let start=new Date().getTime();
// let val=fbnq3(1000);
// console.log(val);

// let end=new Date().getTime();
// console.log("程序的运行时间: "+(end-start)+"ms");

// let start=new Date().getTime();

// let arr=[];
// for(let i=1;i<=100000;i++){
//     arr.push(Math.random());
// }
// arr.sort();
// let end=new Date().getTime();
// console.log("程序的运行时间: "+(end-start)+"ms");

//  let funone=(function (){
//     let num=0;
//     return function (){
//         num++;
//         return num;
//     }
// })();

let f3=(function(){
    return function(){
        console.log("闭包函数...");
    }
})();
f3();

function * fun1(){
    yield 'flag1';
    yield 'flag2';
    return 'Hello';
}
let t=fun1();
console.log(t);
console.log(t.next());
console.log(t.next());
console.log(t.next());
